package com.mjf.scala.chapter06

/**
 * 扩展
 *
 *  >isInstanceOf
 *  >asInstanceOf
 *  >classOf
 *  >type
 */
object Scala23_TextExt {
  def main(args: Array[String]): Unit = {

    // 创建一个Person23对象
    val per: Any = new Person23()

    // 判断per是否为Person23类型
    val res: Boolean = per.isInstanceOf[Person23]
    println(res)

    if(res) {
      // 将Any类型的对象per强转为Person23类型
      // 注意：强转需要存在继承关系
      val p1: Person23 = per.asInstanceOf[Person23]
    }

    // 获取类型的信息
    val cls: Class[Person23] = classOf[Person23]
//    per.getClass
    println(cls)

  }
}

class Person23 {}


// 应用类：不需要定义main方法，就可以直接运行
// 一般用来做测试
object Test20 extends App {
  println("xxxxxxxxxxx");

  type s = String   // 为类型取别名
  private val abc: s = "abc"
}
